The present invention relates to digital communications across error-inducing links and more particularly to systems and methods for ameliorating errors by retransmitting unsuccessfully communicated data upon request.
Retransmitting data upon request is a well-known method for improving error performance in data communication systems where errors are detectable and a link from the receiver to the transmitter is available. Systems that provide this retransmission capability are often known as ARQ (Automatic Retransmission Request) systems. For example, if a single request for retransmission may always be made and fulfilled, a channel having a bit error rate of 1xc3x9710xe2x88x926 may have its effective bit error rate reduced to 1xc3x9710xe2x88x9212.
A disadvantage of ARQ is that link capacity is in part consumed by requests for retransmission and by retransmitted data. Thus there is associated overhead. This overhead will vary depending on the ARQ system design. ARQ design parameters that affect overhead include the number of repeat requests generated per error, the number of retransmissions for every repeat request, and the block sizes for which retransmission is requested. For example, increased numbers of repeat requests and/or retransmission will improve link error performance but at the expense of link capacity.
Also, ARQ is typically associated with an increase in latency across the link. Received data is often buffered to allow time for retransmission requests to be processed for data blocks received in error. The more time is allowed, the higher the probability that one or more retransmission requests will ultimately result in a successful transmission. On the other hand, some types of traffic, e.g., voice cannot tolerate high latency.
With the increased use of Internet Protocol (IP) in the Internet and other applications, it is desirable to support IP networks with two-way point-to-point links that are subject to transmission errors. For example, it is highly desirable to use wireless point-to-point links to support IP links. However, voice and other types of traffic increasingly carried by IP networks cannot tolerate high latency but can tolerate somewhat higher error rates. Current ARQ schemes have difficulty adequately servicing mixes of voice and data traffic because of their differing requirements for latency and error rates.
What is needed is an ARQ scheme that provides programmable overhead and latency. Furthermore, it is desirable to minimize latency and overhead caused by ARQ while maximizing link error performance.
An automatic retransmission system offering good latency and overhead characteristics combined with programmable tradeoffs among overhead, latency, and error performance is provided by virtue of the present invention. ARQ (Automatic Repeat request) blocks present at both ends of a link coordinate to automatically attempt to resend data if that data was not received properly the first time it was sent. Re-transmission from the transmitter (transmitter) is requested by the receiver (Receiver) via a highly reliable xe2x80x9cRepeat Requestxe2x80x9d (RR) mechanism. This RR scheme carries sufficient information back to the transmitter for it to determine which previous transmissions need to be re-sent.
Available capacity for retransmission requests is shared fairly among pending requests. At least one RR is sent for every block of bad data before any block of data has two RRs sent. Similarly, at the transmitter, every pending retransmission request is fulfilled at least once before any retransmission request is fulfilled twice. The average and burst capacity for handling overhead are programmable. A transmitter memory holds a copy of recently sent data to fulfill retransmission requests while a receiver memory buffers up received data to allow time for xe2x80x9cgapsxe2x80x9d in this data to be filled with good re-transmitted data before the data exits the receiver memory.
According to a first aspect of the present invention, a method for combining transmission of new data with retransmission of data requested by a receiver includes: allocating a data transmission opportunity for either data transmission or data retransmission based upon monitoring of available overhead for retransmission, and transmitting or retransmitting during the data transmission opportunity according to the allocation.
A further understanding of the nature and advantages of the inventions herein may be realized by reference to the remaining portions of the specification and the attached drawings.